package com.xinke.module.system.mapper.social;

import java.util.*;

import com.xinke.component.common.pojo.PageResult;
import com.xinke.component.mybatis.mybatis.core.query.LambdaQueryWrapperExt;
import com.xinke.component.mybatis.mybatis.core.mapper.BaseMapperExt;
import com.xinke.module.system.model.entity.social.SocialClientDO;
import org.apache.ibatis.annotations.Mapper;
import com.xinke.module.system.model.vo.social.*;

/**
 * 社交客户端 Mapper
 *
 * @author yzx
 */
@Mapper
public interface SocialClientMapper extends BaseMapperExt<SocialClientDO> {

    default PageResult<SocialClientDO> selectPage(SocialClientPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperExt<SocialClientDO>()
                .likeIfPresent(SocialClientDO::getClientName, reqVO.getClientName())
                .eqIfPresent(SocialClientDO::getSocialType, reqVO.getSocialType())
                .eqIfPresent(SocialClientDO::getUserType, reqVO.getUserType())
                .eqIfPresent(SocialClientDO::getClientNo, reqVO.getClientNo())
                .eqIfPresent(SocialClientDO::getClientSecret, reqVO.getClientSecret())
                .eqIfPresent(SocialClientDO::getAgentId, reqVO.getAgentId())
                .eqIfPresent(SocialClientDO::getClientStatus, reqVO.getClientStatus())
                .orderByDesc(SocialClientDO::getClientId));
    }

}